package org.example.autofilearchiver.Web.Controller;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.example.autofilearchiver.tool.StaticClass.DOCX.DocxStatic;
import org.example.autofilearchiver.toolclass.DOCX.DocxFileTemplate;
import org.example.autofilearchiver.toolclass.DOCX.DocxPath;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/docx")
@Api(tags = "docx文件相关接口")
public class DocxController {
    /**
     * 接收前端传入docx的文件路径
     *
     * @param docxPath docx文件的绝对路径
     * @return 接受成功消息
     */
    @PostMapping("/postString/docxPath")
    @ApiOperation(value = "docx文件传入接口", notes = "传入一个docx文件的绝对路径")
    public String handleDocxPath(@RequestBody DocxPath docxPath) {
        // 这里你可以处理docxPath，例如读取文件、进行转换等
        DocxStatic.docxPath = docxPath.getFolderPath();//把路径存到全局数据里
        // 返回一个简单的响应，表示文件路径已收到  
        return "Received path: " + docxPath;
    }

    /**
     * docx模板文件数据传入接口
     *
     * @param template 传入模板数据
     * @return 返回一个成功信息
     */
    @PostMapping("/postTemplate/docxTemplate")
    @ApiOperation(value = "docx模板文件数据传入接口", notes = "传入一个docx模板文件的对象")
    public String handleDocxTemplate(@RequestBody DocxFileTemplate template) {
        List<DocxFileTemplate> docxFileTemplates = DocxStatic.docxFileTemplates;
        boolean isNewTemplate = true;

        for (int i = 0; i < docxFileTemplates.size(); i++) {
            DocxFileTemplate docxFileTemplate = docxFileTemplates.get(i);
            if (docxFileTemplate.getId().equals(template.getId())) {
                DocxStatic.docxFileTemplates.set(i, template);
                isNewTemplate = false;
            }
        }
        if (isNewTemplate) {
            DocxStatic.docxFileTemplates.add(template);
        }
        System.out.println(template);
        return "得到DocxFileTemplate";
    }

}